package com.empire.module.sporttery.controller.admin.footballmatch.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.empire.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.empire.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 竞猜足彩比赛分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class FootballMatchPageReqVO extends PageParam {

    @Schema(description = "编号")
    private String number;

    @Schema(description = "500万游戏编号", example = "2219")
    private String matchId;

    @Schema(description = "赛事")
    private String match;

    @Schema(description = "赛事500万url", example = "https://www.iocoder.cn")
    private String matchUrl;

    @Schema(description = "分析")
    private String analysis;

    @Schema(description = "颜色")
    private String color;

    @Schema(description = "开赛时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] openTime;

    @Schema(description = "总进球赔率")
    private String goalOdds;

    @Schema(description = "让球赔率")
    private String letOdds;

    @Schema(description = "半全场赔率")
    private String halfWholeOdds;

    @Schema(description = "不让球赔率")
    private String notLetOdds;

    @Schema(description = "比分赔率")
    private String scoreOdds;

    @Schema(description = "让球")
    private String letBall;

    @Schema(description = "主队")
    private String homeTeam;

    @Schema(description = "下注状态 0 不可下注 1 可下注 2 已取消")
    private String state;

    @Schema(description = "客队")
    private String visitingTeam;

    @Schema(description = "是否单关 0 否 1 是")
    private String isSingle;

    @Schema(description = "比赛下注截止时间")
    private LocalDateTime deadline;

    @Schema(description = "半全场结果")
    private String halfFullCourt;

    @Schema(description = "开奖结果")
    private String award;

    @Schema(description = "属于哪天的比赛时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] startTime;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "比分")
    private String score;

    @Schema(description = "主队链接", example = "https://www.iocoder.cn")
    private String homeTeamUrl;

    @Schema(description = "客队链接", example = "https://www.iocoder.cn")
    private String visitTeamUrl;

    @Schema(description = "胜赔")
    private Double winPay;

    @Schema(description = "平赔")
    private Double drawPay;

    @Schema(description = "客赔")
    private Double visitPay;

    @Schema(description = "让球胜赔")
    private Double letWinPay;

    @Schema(description = "让球平赔")
    private Double letDrawPay;

    @Schema(description = "让球客赔")
    private Double letVisitPay;

    @Schema(description = "胜赔概率")
    private String winRate;

    @Schema(description = "平赔概率")
    private String drawWinRate;

    @Schema(description = "客赔概率")
    private String visitWinRate;

    @Schema(description = "让球胜赔概率")
    private String letWinRate;

    @Schema(description = "让球平赔概率")
    private String letDrawWinRate;

    @Schema(description = "让球客赔概率")
    private String letVisitWinRate;

    @Schema(description = "胜赔")
    private Integer winFlag;

    @Schema(description = "平赔")
    private Integer drawWinFlag;

    @Schema(description = "客赔")
    private Integer visitWinFlag;

    @Schema(description = "让球胜赔")
    private Integer letWinFlag;

    @Schema(description = "让球平赔")
    private Integer letDrawWinFlag;

    @Schema(description = "让球客赔")
    private Integer letVisitWinFlag;

    @Schema(description = "胜赔")
    private Integer winSelect;

    @Schema(description = "平赔")
    private Integer drawWinSelect;

    @Schema(description = "客赔")
    private Integer visitWinSelect;

    @Schema(description = "让球胜赔")
    private Integer letWinSelect;

    @Schema(description = "让球平赔")
    private Integer letDrawWinSelect;

    @Schema(description = "让球客赔")
    private Integer letVisitWinSelect;

    @Schema(description = "投注倾向")
    private String trendWin;

    @Schema(description = "欧赔对比")
    private String ouDiff;

    @Schema(description = "热队")
    private String hotTeam;

    @Schema(description = "500-投注分析")
    private String zw;

    @Schema(description = "500-投注量大小描述")
    private String mountDesc;

    @Schema(description = "500-投注量规模")
    private String mount;

    @Schema(description = "筛选排序")
    private Integer selectSort;

    @Schema(description = "比分预测")
    private String scoreSelect;

    @Schema(description = "能力值对比")
    private String teamScore;

    @Schema(description = "是否显示")
    private Integer isView;

    @Schema(description = "进球数指数")
    private String ballNumPredict;

    @Schema(description = "进球数")
    private String ballNum;

    @Schema(description = "欧赔主胜概率")
    private String ouHomeRate;

    @Schema(description = "欧赔平赔概率")
    private String ouDrawRate;

    @Schema(description = "欧赔主负概率")
    private String ouVisitRate;

    @Schema(description = "欧赔差异")
    private String ouResult;

    @Schema(description = "主队半场进球数-算法值")
    private String homeAlgScoreBan;

    @Schema(description = "客队半场进球数-算法值")
    private String awayAlgScoreBan;

    @Schema(description = "主队全场进球数-算法值")
    private String homeAlgScoreQuan;

    @Schema(description = "客队全场进球数-算法值")
    private String awayAlgScoreQuan;

    @Schema(description = "主队半场进球数-推荐值")
    private String homePreScoreBan;

    @Schema(description = "客队半场进球数-推荐值")
    private String awayPreScoreBan;

    @Schema(description = "主队全场进球数-推荐值")
    private String homePreScoreQuan;

    @Schema(description = "客队全场进球数-推荐值")
    private String awayPreScoreQuan;

    @Schema(description = "推荐理由", example = "你猜")
    private String remark;

}